<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>面试题 17.09. 第 k 个数</title>
  </head>
  <body>
    <script>
      //     有些数的素因子只有 3，5，7，请设计一个算法找出第 k 个数。注意，不是必须有这些素因子，而是必须不包含其他的素因子。例如，前几个数按顺序应该是 1，3，5，7，9，15，21。

      // 示例 1:

      // 输入: k = 5

      // 输出: 9

      // 来源：力扣（LeetCode）
      // 链接：https://leetcode.cn/problems/get-kth-magic-number-lcci
      // 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
      /**
       * @param {number} k
       * @return {number}
       */
      var getKthMagicNumber = function (k) {
        let list = [1]
        let a = 0,
          b = 0,
          c = 0
        while (list.length < k) {
          let ma = Math.min(list[a] * 3, list[b] * 5, list[c] * 7)
          if (ma == list[a] * 3) {
            a++
          }
          if (ma == list[b] * 5) {
            b++
          }
          if (ma == list[c] * 7) {
            c++
          }
          list.push(ma)
        }
        debugger
        return list[k - 1]
      }
      console.log(getKthMagicNumber(9))
    </script>
  </body>
</html>
